<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="lib.css" type='text/css' />
<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
<link rel='start' href='../index.html' title='Python documentation Index' />
<link rel="first" href="lib.html" title='Python library Reference' />
<link rel='contents' href='contents.html' title="Contents" />
<link rel='index' href='genindex.html' title='Index' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="msi-tables.html" />
<link rel="prev" href="features.html" />
<link rel="parent" href="module-msilib.html" />
<link rel="next" href="msi-tables.html" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name='aesop' content='information' />
<title>36.1.9 GUI classes</title>
</head>
<body>
<div class="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="36.1.8 Features"
  href="features.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="36.1 msilib  "
  href="module-msilib.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="36.1.10 precomputed tables"
  href="msi-tables.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="features.html">36.1.8 Features</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-msilib.html">36.1 msilib  </a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="msi-tables.html">36.1.10 Precomputed tables</a>
</div>
<hr /></div>
</div>
<!--End of Navigation Panel-->

<h2><a name="SECTION0038190000000000000000"></a><a name="msi-gui"></a>
<br>
36.1.9 GUI classes
</h2>

<p>
<tt class="module">msilib</tt> provides several classes that wrap the GUI tables in
an MSI database. However, no standard user interface is provided; use
<tt class="module">bdist_msi</tt> to create MSI files with a user-interface for
installing Python packages.

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-5789' xml:id='l2h-5789' class="class">Control</tt></b>(</nobr></td>
  <td><var>dlg, name</var>)</td></tr></table></dt>
<dd>
  Base class of the dialog controls. <var>dlg</var> is the dialog object
  the control belongs to, and <var>name</var> is the control's name.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5790' xml:id='l2h-5790' class="method">event</tt></b>(</nobr></td>
  <td><var>event, argument</var><big>[</big><var>, 
   condition = ``1''</var><big>[</big><var>, ordering</var><big>]</big><var></var><big>]</big><var></var>)</td></tr></table></dt>
<dd>

<p>
Make an entry into the <code>ControlEvent</code> table for this control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5791' xml:id='l2h-5791' class="method">mapping</tt></b>(</nobr></td>
  <td><var>event, attribute</var>)</td></tr></table></dt>
<dd>
  Make an entry into the <code>EventMapping</code> table for this control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5792' xml:id='l2h-5792' class="method">condition</tt></b>(</nobr></td>
  <td><var>action, condition</var>)</td></tr></table></dt>
<dd>
  Make an entry into the <code>ControlCondition</code> table for this control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-5793' xml:id='l2h-5793' class="class">RadioButtonGroup</tt></b>(</nobr></td>
  <td><var>dlg, name, property</var>)</td></tr></table></dt>
<dd>
  Create a radio button control named <var>name</var>. <var>property</var>
  is the installer property that gets set when a radio button
  is selected.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5794' xml:id='l2h-5794' class="method">add</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, text
                                          </var><big>[</big><var>, value</var><big>]</big><var></var>)</td></tr></table></dt>
<dd>
  Add a radio button named <var>name</var> to the group, at the
  coordinates <var>x</var>, <var>y</var>, <var>width</var>, <var>height</var>, and
  with the label <var>text</var>. If <var>value</var> is omitted, it
  defaults to <var>name</var>.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-5795' xml:id='l2h-5795' class="class">Dialog</tt></b>(</nobr></td>
  <td><var>db, name, x, y, w, h, attr, title, first, 
    default, cancel</var>)</td></tr></table></dt>
<dd>
  Return a new <tt class="class">Dialog</tt> object. An entry in the <code>Dialog</code> table
  is made, with the specified coordinates, dialog attributes, title,
  name of the first, default, and cancel controls.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5796' xml:id='l2h-5796' class="method">control</tt></b>(</nobr></td>
  <td><var>name, type, x, y, width, height, 
                  attributes, property, text, control_next, help</var>)</td></tr></table></dt>
<dd>
  Return a new <tt class="class">Control</tt> object. An entry in the <code>Control</code> table
  is made with the specified parameters.

<p>
This is a generic method; for specific types, specialized methods
  are provided.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5797' xml:id='l2h-5797' class="method">text</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, attributes, text</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>Text</code> control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5798' xml:id='l2h-5798' class="method">bitmap</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, text</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>Bitmap</code> control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5799' xml:id='l2h-5799' class="method">line</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>Line</code> control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5800' xml:id='l2h-5800' class="method">pushbutton</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, attributes, 
                                 text, next_control</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>PushButton</code> control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5801' xml:id='l2h-5801' class="method">radiogroup</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, 
                                 attributes, property, text, next_control</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>RadioButtonGroup</code> control.
</dl>

<p>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
  <td><nobr><b><tt id='l2h-5802' xml:id='l2h-5802' class="method">checkbox</tt></b>(</nobr></td>
  <td><var>name, x, y, width, height, 
                                 attributes, property, text, next_control</var>)</td></tr></table></dt>
<dd>
  Add and return a <code>CheckBox</code> control.
</dl>

<p>
<div class="seealso">
  <p class="heading">See Also:</p>

  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/dialog_table.asp"
        >Dialog Table</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/control_table.asp"
        >Control Table</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/controls.asp"
        >Control Types</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/controlcondition_table.asp"
        >ControlCondition Table</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/controlevent_table.asp"
        >ControlEvent Table</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/eventmapping_table.asp"
        >EventMapping Table</a></em></dt>
    <dd></dd>
  </dl>
  <dl compact="compact" class="seetitle">
    <dt><em class="citetitle"><a href="http://msdn.microsoft.com/library/en-us/msi/setup/radiobutton_table.asp"
        >RadioButton Table</a></em></dt>
    <dd></dd>
  </dl>
</div>

<p>

<div class="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="36.1.8 Features"
  href="features.html"><img src='../icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></a></td>
<td class='online-navigation'><a rel="parent" title="36.1 msilib  "
  href="module-msilib.html"><img src='../icons/up.png'
  border='0' height='32'  alt='Up one Level' width='32' /></a></td>
<td class='online-navigation'><a rel="next" title="36.1.10 precomputed tables"
  href="msi-tables.html"><img src='../icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></a></td>
<td align="center" width="100%">Python Library Reference</td>
<td class='online-navigation'><a rel="contents" title="Table of Contents"
  href="contents.html"><img src='../icons/contents.png'
  border='0' height='32'  alt='Contents' width='32' /></a></td>
<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
  border='0' height='32'  alt='Module Index' width='32' /></a></td>
<td class='online-navigation'><a rel="index" title="Index"
  href="genindex.html"><img src='../icons/index.png'
  border='0' height='32'  alt='Index' width='32' /></a></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="features.html">36.1.8 Features</a>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-msilib.html">36.1 msilib  </a>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="msi-tables.html">36.1.10 Precomputed tables</a>
</div>
</div>
<hr />
<span class="release-info">Release 2.5.1, documentation updated on 18th April, 2007.</span>
</div>
<!--End of Navigation Panel-->
<address>
See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
</address>
</body>
</html>
